package com.taxi.driver.config;

/**
 * 功能描述：订单状态
 */
public interface OrderStatus {

    /**
     * 订单大状态
     **/
    //新建订单
    int ORDER_MAIN_STATUS_INITIAL = 1;
    //订单进行中
    int ORDER_MAIN_STATUS_DOING = 2;
    //行程结束、待支付
    int ORDER_MAIN_STATUS_DONE = 3;
    //支付完成、订单结束
    int ORDER_MAIN_STATUS_PAYED = 4;
    //订单取消（完结）
    int ORDER_MAIN_STATUS_CANCEL = 5;

    /**
     * 订单子状态
     **/
    int WAIT_REPLY = 100; // 乘客发单、等待应答

    int WAIT_BEGIN_APPOINTMENT = 200; // 等待接驾－预约订单
    int WAIT_ARRIVE_ORIGIN = 210; // 等待接驾-司机已出发，但未到达"上车地点"
    int WAIT_PASSENGER_GET_ON = 220; // 等待接驾-司机已到达"上车地点"，但乘客未上车

    int DEPART = 300; // 乘客已上车，行程已开始

    int ARRIVE_DEST = 400; // 到达目的地

    int FARE_CONFIRM = 500; // 司机确认费用，等待乘客支付
    int CANCEL_BY_PASSENGER_NEED_PAY = 510; // 乘客取消订单，待支付取消费用（有取消费用的情况）
    int CANCLE_BY_DRIVER_NEED_PAY = 520; // 司机取消订单，待支付取消费用（有取消费用的情况）

    int COMPLETE_WITHOUT_EVALUATE = 600; // 已完成，待评价
    int COMPLETE = 610; // 已完成，已评价

    int CANCEL_BEFORE_ACCEPT = 900; // 应答前取消订单（乘客）
    int CANCEL_BY_PASSENGER_BEFORE_ARRIVE_START = 901; // 乘客取消（行程确定后、司机未到达）
    int CANCEL_BY_PASSENGER_AFTER_ARRIVE_START = 902; // 乘客取消（行程确定后、司机到达）

    int CANCEL_BY_DRIVER = 910; // 司机取消订单
    int CANCEL_NO_ANSWER = 980; // 无人抢单，订单超时
    int CANCEL_BY_SYSTEM = 990; // 后台取消
}
